package it.azienda.managerworkstandard.modello;

import it.azienda.framework.modello.*;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.HashMap;

public class BeanLogin extends BeanBase{
    public BeanLogin(){
        this.setBeanConfigurazione(new BeanConfigurazione());
        this.ordineProd = "D";
        this.listino1 = "listino 1";
        this.listino2 = "listino 2";
        this.listino3 = "listino 3";
        this.listino4 = "listino 4";
        this.listino5 = "listino 5";
        this.stampaSconto = "S";
        this.master = true;
        this.sottoScorta = new Integer(1);
        this.ricarico1 = new Double(0);
        this.ricarico2 = new Double(0);
        this.ricarico3 = new Double(0);
        this.ricarico4 = new Double(0);
        this.ricarico5 = new Double(0);
    }
    
    private Integer id;
    private Integer codice;
    private String nomeUtente;
    private String passwd;
    private boolean autenticato;
    
    private String licenza;
    private BeanConfigurazione beanConfigurazione;
    
    private String cognome;
    private String nome;
    private String telefono;
    private String email;
    private Date dataNascita;
    private Integer annoGestione;
    
    private HashMap listaOggetti;
    private HashMap listaStorico;
    private HashMap listaStorico2;
    
    private Date dataDa;
    private Date dataA;
    
    private String ordineProd;
    
    private String listino1;
    private String listino2;
    private String listino3;
    private String listino4;
    private String listino5;
    
    private String stampaSconto;
    private boolean master;
    private Integer sottoScorta;
    private String stampaAnno = "N";

    private Double ricarico;
    private Double ricarico1;
    private Double ricarico2;
    private Double ricarico3;
    private Double ricarico4;
    private Double ricarico5;
    
    public void verificaPassword(String passwd){
        if(this.passwd.equals(passwd)){
            this.setAutenticato(true);
        }else{
            this.setAutenticato(false);
        }
    }
    
    public void setAutenticato(boolean autenticato) {
        this.autenticato = autenticato;
    }
    
    public boolean isAutenticato() {
        return autenticato;
    }
    
    public HashMap getListaOggetti() {
        return listaOggetti;
    }
    
    public void setListaOggetti(HashMap listaOggetti) {
        this.listaOggetti = listaOggetti;
    }
    
    public HashMap getListaStorico() {
        return listaStorico;
    }
    
    public void setListaStorico(HashMap listaStorico) {
        this.listaStorico = listaStorico;
    }
    
    public HashMap getListaStorico2() {
        return listaStorico2;
    }
    
    public void setListaStorico2(HashMap listaStorico2) {
        this.listaStorico2 = listaStorico2;
    }
    
    public void settaHashMapOggetti(ArrayList lista){
        this.listaOggetti=new HashMap();
        for(int i=0;i<lista.size();i++){
            this.listaOggetti.put(new Integer(i),lista.get(i));
        }
    }
    
    public void settaHashMapStorico(ArrayList listaO){
        this.listaStorico=new HashMap();
        for(int i=0;i<listaO.size();i++){
            this.listaStorico.put(new Integer(i),listaO.get(i));
        }
    }
    
    public void settaHashMapStorico2(ArrayList lista2){
        this.listaStorico2=new HashMap();
        for(int i=0;i<lista2.size();i++){
            this.listaStorico2.put(new Integer(i),lista2.get(i));
        }
    }
    
    public Integer getId() {
        return id;
    }
    
    public void setId(Integer id) {
        this.id = id;
    }
    
    public String getNomeUtente() {
        return nomeUtente;
    }
    
    public void setNomeUtente(String nomeUtente) {
        this.nomeUtente = nomeUtente;
    }
    
    public String getPasswd() {
        return passwd;
    }
    
    public void setPasswd(String passwd) {
        this.passwd = passwd;
    }
    
    public String getCognome() {
        return cognome;
    }
    
    public void setCognome(String cognome) {
        this.cognome = cognome;
    }
    
    public String getNome() {
        return nome;
    }
    
    public void setNome(String nome) {
        this.nome = nome;
    }
    
    public Integer getCodice() {
        return codice;
    }
    
    public void setCodice(Integer codice) {
        this.codice = codice;
    }
    
    public String getLicenza() {
        return licenza;
    }
    
    public void setLicenza(String licenza) {
        this.licenza = licenza;
    }
    
    public BeanConfigurazione getBeanConfigurazione() {
        return beanConfigurazione;
    }
    
    public void setBeanConfigurazione(BeanConfigurazione beanConfigurazione) {
        this.beanConfigurazione = beanConfigurazione;
    }
    
    public String getEmail() {
        return email;
    }
    
    public void setEmail(String email) {
        this.email = email;
    }
    
    public Date getDataNascita() {
        return dataNascita;
    }
    
    public void setDataNascita(Date dataNascita) {
        this.dataNascita = dataNascita;
    }
    
    public String getTelefono() {
        return telefono;
    }
    
    public void setTelefono(String telefono) {
        this.telefono = telefono;
    }
    
    public Integer getAnnoGestione() {
        return annoGestione;
    }
    
    public void setAnnoGestione(Integer annoGestione) {
        this.annoGestione = annoGestione;
    }
    
    public String orarioData() {
        
        Calendar calendar = new GregorianCalendar();
        
        String orario;
        int ore = calendar.get(Calendar.HOUR);
        int minuti = calendar.get(Calendar.MINUTE);
        int secondi = calendar.get(Calendar.SECOND);
        int giorno = calendar.get(Calendar.DAY_OF_MONTH);
        int mese = calendar.get(Calendar.MONTH)+1;
        int anno = calendar.get(Calendar.YEAR);
        
        if(calendar.get(Calendar.AM_PM) == 0){
            orario = "A.M.";
        }else{
            orario = "P.M.";
        }
        
        return "Data Odierna: "+giorno+"-"+meseLettera(mese)+"-"+anno;
    }
    
    public String meseLettera(int mese){
        String meseLettera = "";
        
        switch(mese){
            case 1:  meseLettera = "Gennaio";   break;
            case 2:  meseLettera = "Febbraio";  break;
            case 3:  meseLettera = "Marzo";     break;
            case 4:  meseLettera = "Aprile";    break;
            case 5:  meseLettera = "Maggio";    break;
            case 6:  meseLettera = "Giugno";    break;
            case 7:  meseLettera = "Luglio";    break;
            case 8:  meseLettera = "Agosto";    break;
            case 9:  meseLettera = "Settembre"; break;
            case 10: meseLettera = "Ottobre";   break;
            case 11: meseLettera = "Novembre";  break;
            case 12: meseLettera = "Dicembre";  break;
        }
        
        return meseLettera;
    }
    
    public Date getDataDa() {
        if(this.annoGestione != null){
            GregorianCalendar calendar = new GregorianCalendar(this.annoGestione.intValue(),0, 1);
            dataDa = calendar.getTime();
        }
        return dataDa;
    }
    
    public void setDataDa(Date dataDa) {
        this.dataDa = dataDa;
    }
    
    public Date getDataA() {
        if(this.annoGestione != null){
            GregorianCalendar calendar = new GregorianCalendar(this.annoGestione.intValue(),11, 31);
            dataA = calendar.getTime();
        }
        return dataA;
    }
    
    public void setDataA(Date dataA) {
        this.dataA = dataA;
    }
    
    public String getOrdineProd() {
        return ordineProd;
    }
    
    public void setOrdineProd(String ordineProd) {
        this.ordineProd = ordineProd;
    }
    
    public String getListino1() {
        if(listino1 == null){
            listino1 = "listino 1";
        }
        return listino1;
    }
    
    public void setListino1(String listino1) {
        this.listino1 = listino1;
    }
    
    public String getListino2() {
        if(listino2 == null){
            listino2 = "listino 2";
        }
        return listino2;
    }
    
    public void setListino2(String listino2) {
        this.listino2 = listino2;
    }
    
    public String getListino3() {
        if(listino3 == null){
            listino3 = "listino 3";
        }
        return listino3;
    }
    
    public void setListino3(String listino3) {
        this.listino3 = listino3;
    }
    
    public String getListino4() {
        if(listino4 == null){
            listino4 = "listino 4";
        }
        return listino4;
    }
    
    public void setListino4(String listino4) {
        this.listino4 = listino4;
    }
    
    public String getListino5() {
        if(listino5 == null){
            listino5 = "listino 5";
        }
        return listino5;
    }
    
    public void setListino5(String listino5) {
        this.listino5 = listino5;
    }
    
    public String getStampaSconto() {
        return stampaSconto;
    }
    
    public void setStampaSconto(String stampaSconto) {
        this.stampaSconto = stampaSconto;
    }
    
    public boolean isMaster() {
        return master;
    }
    
    public void setMaster(boolean master) {
        this.master = master;
    }
    
    public Integer getSottoScorta() {
        return sottoScorta;
    }
    
    public void setSottoScorta(Integer sottoScorta) {
        this.sottoScorta = sottoScorta;
    }

    /**
     * @return the stampaAnno
     */
    public String getStampaAnno() {
        return stampaAnno;
    }

    /**
     * @param stampaAnno the stampaAnno to set
     */
    public void setStampaAnno(String stampaAnno) {
        this.stampaAnno = stampaAnno;
    }

    /**
     * @return the ricarico1
     */
    public Double getRicarico1() {
        return ricarico1;
    }

    /**
     * @param ricarico1 the ricarico1 to set
     */
    public void setRicarico1(Double ricarico1) {
        this.ricarico1 = ricarico1;
    }

    /**
     * @return the ricarico2
     */
    public Double getRicarico2() {
        return ricarico2;
    }

    /**
     * @param ricarico2 the ricarico2 to set
     */
    public void setRicarico2(Double ricarico2) {
        this.ricarico2 = ricarico2;
    }

    /**
     * @return the ricarico3
     */
    public Double getRicarico3() {
        return ricarico3;
    }

    /**
     * @param ricarico3 the ricarico3 to set
     */
    public void setRicarico3(Double ricarico3) {
        this.ricarico3 = ricarico3;
    }

    /**
     * @return the ricarico4
     */
    public Double getRicarico4() {
        return ricarico4;
    }

    /**
     * @param ricarico4 the ricarico4 to set
     */
    public void setRicarico4(Double ricarico4) {
        this.ricarico4 = ricarico4;
    }

    /**
     * @return the ricarico5
     */
    public Double getRicarico5() {
        return ricarico5;
    }

    /**
     * @param ricarico5 the ricarico5 to set
     */
    public void setRicarico5(Double ricarico5) {
        this.ricarico5 = ricarico5;
    }

    /**
     * @return the ricarico
     */
    public Double getRicarico() {
        return ricarico;
    }

    /**
     * @param ricarico the ricarico to set
     */
    public void setRicarico(Double ricarico) {
        this.ricarico = ricarico;
    }

}